【小ネタ】【AWS Backup】CLIを使ってEC2インスタンスのバックアップ作成を試してみた
データアナリティクス(DA)事業本部の川崎です。
先日、EC2のバックアップ設定を行う機会があり、これまではマネージメントコンソールの画面から対応していたのですが、 今回、AWS CLIを使って設定する方法を試してみました。
設定方法をネットで調べてみると、下記のAWS ナレッジセンターの記事が見つかります。
AWS ナレッジセンターについてはこちらもご覧ください。
手順は
- AWS Backup プランを作成する
- create-backup-vaultコマンドを実行してボールトを作成
- create-backup-planコマンドを実行
- create-backup-selectionコマンドを実行
となります。
さて、記事の内容を確認していくと、
2 バックアッププランのオプションとパラメータを使用して、JSON ファイルを作成します。例:
{ "BackupPlanName": "testplan", "Rules": [{ "RuleName": "HalfDayBackups", "TargetBackupVaultName": "primary", "ScheduleExpression": "cron(0 5/12 ? * * *)", "StartWindowMinutes": 480, "CompletionWindowMinutes": 10080, "Lifecycle": { "DeleteAfterDays": 30 }, "CopyActions": [{ "DestinationBackupVaultArn": "arn:aws:backup:eu-west-2:123456789:backup-vault:secondary", "Lifecycle": { "DeleteAfterDays": 30 } }] }] }
いきなり ScheduleExpression として、cron式が出てきました。
cron式であれば、任意の頻度を指定可能、、というのはわかるのですが、 マネージメントコンソールのGUIの設定画面のように、 「バックアップ頻度」を選択肢から選ぶような方法は、指定できないでしょうか?
マネージメントコンソールの「バックアップ頻度」の項目は、
バックアップ頻度 |
---|
毎時 |
12時間ごと |
毎日 |
毎週 |
毎月 |
カスタムcron式 |
から選択できるようになっています。
結論から言うと、これらの選択肢を指定すると、 バックアップツールとしては、内部的にcron式に変換されています。
マネジメントコンソールで設定した後で、下記のコマンドでそれぞれのバックアッププランを確認することで、cron式が参照できました。
aws backup get-backup-plan --backup-plan-id "xxxxxxxx-xxxx"
バックアップ頻度 | cron式 |
---|---|
毎月 日1 | cron(0 5 1 * ? *) |
毎月 第一 月曜日 | cron(0 5 ? * 2#1 *) |
毎週 月 | cron(0 5 ? * 2 *) |
毎週 月、日 | cron(0 5 ? * 2,1 *) |
毎日 | cron(0 5 ? * * *) |
12時間ごと | cron(0 5/12 ? * * *) |
毎時 | cron(0 5/1 ? * * *) |
まとめ
マネージメントコンソールの「バックアップ頻度」の各項目を指定した場合の、 cron式の内容を調べてみました。
何かのお役に立てれば幸いです。